std::deque::emplace 您所在的位置:网站首页 std::string has no member named pop_back std::deque::emplace

std::deque::emplace

2024-06-11 11:34| 来源: 网络整理| 查看: 265

[edit template]  C++ Compiler support Freestanding and hosted Language Standard library Standard library headers Named requirements Feature test macros (C++20) Language support library Concepts library (C++20) Metaprogramming library (C++11) Diagnostics library General utilities library Strings library Containers library Iterators library Ranges library (C++20) Algorithms library Numerics library Localizations library Input/output library Filesystem library (C++17) Regular expressions library (C++11) Concurrency support library (C++11) Technical specifications Symbols index External libraries [edit] Containers library Sequence array(C++11) vector vector deque forward_list(C++11) list Associative set multiset map multimap Unordered associative unordered_set(C++11) unordered_multiset(C++11) unordered_map(C++11) unordered_multimap(C++11) Adaptors stack queue priority_queue flat_set(C++23) flat_multiset(C++23) flat_map(C++23) flat_multimap(C++23) Views span(C++20) mdspan(C++23) Iterator invalidation Member function table Non-member function table [edit] std::deque Member types Member functions deque::deque deque::~deque deque::operator= deque::assign deque::assign_range(C++23) deque::get_allocator Element access deque::at deque::operator[] deque::front deque::back Iterators deque::begindeque::cbegin(C++11) deque::enddeque::cend(C++11) deque::rbegindeque::crbegin(C++11) deque::renddeque::crend(C++11) Capacity deque::empty deque::size deque::max_size deque::shrink_to_fit(DR*) Modifiers deque::clear deque::insert deque::insert_range(C++23) deque::emplace deque::erase deque::push_front deque::emplace_front(C++11)   deque::prepend_range(C++23) deque::pop_front deque::push_back deque::emplace_back(C++11) deque::append_range(C++23) deque::pop_back deque::resize deque::swap Non-member functions operator==operator!=operatoroperator=operator(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20) swap(std::deque) erase(std::deque)erase_if(std::deque)(C++20)(C++20) Deduction guides(C++17) [edit]  template void emplace_back( Args&&... args ); (since C++11) (until C++17) template reference emplace_back( Args&&... args ); (since C++17)

Appends a new element to the end of the container. The element is constructed through std::allocator_traits::construct, which typically uses placement-new to construct the element in-place at the location provided by the container. The arguments args... are forwarded to the constructor as std::forward(args)....

All iterators (including the end() iterator) are invalidated. No references are invalidated.

Contents 1 Parameters 2 Return value 3 Complexity 4 Exceptions 5 Example 6 See also [edit] Parameters args - arguments to forward to the constructor of the element Type requirements -T (the container's element type) must meet the requirements of EmplaceConstructible. [edit] Return value

(none)

(until C++17)

A reference to the inserted element.

(since C++17) [edit] Complexity

Constant.

[edit] Exceptions

If an exception is thrown, this function has no effect (strong exception guarantee).

[edit] Example

The following code uses emplace_back to append an object of type President to a std::deque. It demonstrates how emplace_back forwards parameters to the President constructor and shows how using emplace_back avoids the extra copy or move operation required when using push_back.

Run this code #include #include #include #include   struct President { std::string name; std::string country; int year;   President(std::string p_name, std::string p_country, int p_year) : name(std::move(p_name)), country(std::move(p_country)), year(p_year) { std::cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有